Surgical robotic tool multi-motor actuator and controller

ABSTRACT

A first input coupling and a second input coupling are coupled to rotatably drive an output coupling at the same time. In one embodiment, the output coupling rotates a robotic surgery endoscope about a longitudinal axis of the output coupling. A first motor drives the first input coupling while being assisted by a second motor that is driving the second input coupling. A first compensator produces a first motor input based on a position error and in accordance with a position control law, and a second compensator produces a second motor input based on the position error and in accordance with an impedance control law. In another embodiment, the second compensator receives a measured torque of the first motor. Other embodiments are also described and claimed.

FIELD

An embodiment of the invention relates to electro-mechanical controlsystems for motion control of a robotic surgery endoscope. Otherembodiments are also described.

BACKGROUND

Robotic surgery systems give an operating surgeon greater dexterity, andthey may also enable the surgeon to perform the operation from a remotelocation. In a robotic surgery system, a surgical tool or instrument ismechanically coupled to a robot joint, so that movement or actuation ofthe robot joint directly causes a rotation, pivoting or linear movementof a part of the tool (e.g., rotation of an endoscope camera, pivotingof a grasper jaw, or translation of a needle.) Such movement is achievedand controlled by an electro-mechanical feedback control system. Thecontrol system receives a joint command or joint setpoint, e.g., adesired “position” of a joint, meaning its position or orientation. Thejoint command may have been generated by a robotic surgery computerprogram, based on and representing a higher layer command received froma computerized user interface such as a joystick that is beingmanipulated by the surgeon. The control system then actuates the robotjoint in accordance with the joint command.

The control system includes a tool drive, in which there are one or moreactuators. Each actuator has a respective electric motor (e.g., abrushless permanent magnet dc motor) whose drive shaft may be coupled toa respective actuator output shaft or drive disk through a transmission(e.g., a gear train that achieves a given gear reduction ratio.) Thedrive disk is designed to mechanically engage a mating disk that is inthe tool or instrument (when the instrument has been coupled to the tooldrive.) A motor driver circuit manipulates the electrical power drawn bythe motor in order to regulate the speed of the motor or its torque, inaccordance with a motor driver circuit input. A digital, control systemcompensation controller translates the joint command into the motordriver circuit input, using position feedback from the joint, so as totrack the changing joint command.

SUMMARY

A robotic surgery tool such as a rotatable endoscopic digital videocamera presents a particular form of mechanical resistance or load tothe coupled tool drive joint, namely the twisting of an electricalcamera cable. The cable provides power to and acts as a videocommunication link for the camera. The actuator in such a tool driveneeds to have sufficient torque to overcome such resistance. Inaddition, the actuator should have a compact profile to allow the toolto be used simultaneously with other tools that are being used tooperate upon a patient. The electro-mechanical feedback control systemof which the actuator is a part has a digital controller which serves toclose the feedback control loop, and needs to do so in a way thatensures command tracking (position of the tool drive joint) anddisturbance rejection, while reducing parameter sensitivity. Thesolution as a whole should also be reliable and durable, especially whenit is part of a robotic surgery system.

An embodiment of the invention is a multi-motor actuator and controllerfor a robotic surgery tool, for use as part of a control system thattracks a joint command that has been received for the surgery tool. Theactuator has at least two input shafts that are coupled through atransmission to simultaneously and rotatably drive an output shaft (thelatter being configured to be coupled to a surgery tool, such as anendoscope.) Each input shaft is actuated by a respective motorsubsystem. A controller determines a position error based on adifference between a position input and a position feedback, and on thatbasis produces the appropriate motor subsystem inputs. The positionfeedback may be on any one of the input shafts (relates to or givesfeedback on the position of the input shaft) or on the output shaft, andis understood as referring to the position input which is being trackedby the control system. The controller produces a first motor subsysteminput based on the position error and in accordance with a positioncontrol law. The first motor subsystem may be described as the primarymotor subsystem. At the same time, the controller is producing a secondmotor subsystem input also based on the position error, but inaccordance with an impedance control law (the latter using a velocityvariable that is obtained either from the position input or as feedbackon the first input shaft, the second input shaft, or the output shaft.)In this manner, the second motor subsystem, which may be described as asecondary motor subsystem, provides torque assist to the primary motorsubsystem to overcome the resistance of the load on the output shaft(e.g., a twisting endoscope camera cable, friction and inertia of theendoscope camera), thereby improving the tracking performance. There maybe more than one secondary motor subsystem whose torque is being summed,together with that of the primary motor subsystem, at the output shaft.

A torque feedforward path may be added to the compensation scheme thatis used to compute the inputs for any one or more of the motorsubsystems, to compensate for friction and backlash especially when theposition input is changing direction, to help maintain accuracy.

To help avoid the shock when backlash is suddenly overcome, a furtherfeedforward path may be added to the input of a secondary motorsubsystem. This may ensure that during backlash, the velocity of theassociated output shaft is high enough but as soon as backlash has beenovercome the torque on the associated output shaft is reduced.

In another embodiment, the controller produces a primary motor subsysteminput based on the position error and in accordance with a positioncontrol law, but the impedance control law is not used for controllingthe secondary motor subsystems. Instead, the controller produces thesecondary motor subsystem input differently, by measuring motor currentof the first motor subsystem and then low pass filtering the measuredmotor current before performing a control system compensation schemeupon it, to produce the second motor subsystem input. This approach mayalso improve the balancing of the workload between the primary andsecondary motor subsystems.

The above summary does not include an exhaustive list of all aspects ofthe present invention. It is contemplated that the invention includesall systems and methods that can be practiced from all suitablecombinations of the various aspects summarized above, as well as thosedisclosed in the Detailed Description below and particularly pointed outin the claims filed with the application. Such combinations haveparticular advantages not specifically recited in the above summary.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the invention are illustrated by way of example andnot by way of limitation in the figures of the accompanying drawings inwhich like references indicate similar elements. It should be noted thatreferences to “an” or “one” embodiment of the invention in thisdisclosure are not necessarily to the same embodiment, and they mean atleast one. Also, in the interest of conciseness and reducing the totalnumber of figures, a given figure may be used to illustrate the featuresof more than one embodiment of the invention, and not all elements inthe figure may be required for a given embodiment.

FIG. 1 is a pictorial view of an example surgical robotic system in anoperating arena

FIG. 2 depicts a multi-motor actuator and controller for a surgery tool.

FIG. 3 is a block diagram showing an embodiment of the controller.

FIG. 4 is a block diagram of another embodiment of the controller.

FIG. 5 depicts the multi-motor actuator as part of a tool drive on asurgical robotic arm, and a detachable robotic surgery tool that iscoupled to the tool drive.

DETAILED DESCRIPTION

Several embodiments of the invention with reference to the appendeddrawings are now explained. Whenever the shapes, relative positions andother aspects of the parts described in the embodiments are notexplicitly defined, the scope of the invention is not limited only tothe parts shown, which are meant merely for the purpose of illustration.Also, while numerous details are set forth, it is understood that someembodiments of the invention may be practiced without these details. Inother instances, well-known circuits, structures, and techniques havenot been shown in detail so as not to obscure the understanding of thisdescription.

Referring to FIG. 1, this is a pictorial view of an example surgicalrobotic system 1 in an operating arena. The robotic system 1 includes auser console 2, a control tower 3, and one or more surgical robotic arms4 at a surgical robotic platform 5, e.g., a table, a bed, etc. Therobotic surgical system 1 can incorporate any number of devices, tools,or accessories used to perform surgery on a patient 6. For example, therobotic surgical system 1 may include one or more surgical tools 7 usedto perform surgery. A surgical tool 7 may be an end effector that isattached to a distal end of a surgical arm 4, for executing a surgicalprocedure.

Each surgical tool 7 may be manipulated manually, robotically, or both,during the surgery. For example, the surgical tool 7 may be a tool usedto enter, view, or manipulate an internal anatomy of the patient 6. Inan embodiment, the surgical tool 7 is a grasper that can grasp tissue ofthe patient. The surgical tool 7 may be controlled manually, by abedside operator 8; or it may be controlled robotically, via actuatedmovement of the surgical robotic arm 4 to which it is attached. Therobotic arms 4 are shown as a table-mounted system, but in otherconfigurations the arms 4 may be mounted in a cart, ceiling or sidewall,or in another suitable structural support.

Generally, a remote operator 9, such as a surgeon or other operator, mayuse the user console 2 to remotely manipulate the arms 4 and/or theattached surgical tools 7, e.g., teleoperation. The user console 2 maybe located in the same operating room as the rest of the roboticsurgical system 1, as shown in FIG. 1. In other environments however,the user console 2 may be located in an adjacent or nearby room, or itmay be at a remote location, e.g., in a different building, city, orcountry. The user console 2 may comprise a seat 10, foot-operatedcontrols 13, one or more handheld user input devices, UID 14, and atleast one user display 15 that is configured to display, for example, aview of the surgical site inside the patient 6. In the example userconsole 2, the remote operator 9 is sitting in the seat 10 and viewingthe user display 15 while manipulating a foot-operated control 13 and ahandheld UID 14 in order to remotely control the arms 4 and the surgicaltools 7 (that are mounted on the distal ends of the arms 4.)

In some variations, the bedside operator 8 may also operate the surgicalrobotic system 1 in an “over the bed” mode, in which the beside operator8 (user) is now at a side of the patient 6 and is simultaneouslymanipulating a robotically-driven tool (end effector as attached to thearm 4), e.g., with a handheld UID 14 held in one hand, and a manuallaparoscopic tool. For example, the bedside operator's left hand may bemanipulating the handheld UID to control a robotic component, while thebedside operator's right hand may be manipulating a manual laparoscopictool. Thus, in these variations, the bedside operator 8 may perform bothrobotic-assisted minimally invasive surgery and manual laparoscopicsurgery on the patient 6.

During an example procedure (surgery), the patient 6 is prepped anddraped in a sterile fashion to achieve anesthesia. Initial access to thesurgical site may be performed manually while the arms of the roboticsystem 1 are in a stowed configuration or withdrawn configuration (tofacilitate access to the surgical site.) Once access is completed,initial positioning or preparation of the robotic system 1 including itsarms 4 may be performed. Next, the surgery proceeds with the remoteoperator 9 at the user console 2 utilizing the foot-operated controls 13and the UIDs 14 to manipulate the various end effectors and perhaps animaging system, to perform the surgery. Manual assistance may also beprovided at the procedure bed or table, by sterile-gowned bedsidepersonnel, e.g., the bedside operator 8 who may perform tasks such asretracting tissues, performing manual repositioning, and tool exchangeupon one or more of the robotic arms 4. Non-sterile personnel may alsobe present to assist the remote operator 9 at the user console 2. Whenthe procedure or surgery is completed, the surgical robotic system 1 andthe user console 2 may be configured or set in a state to facilitatepost-operative procedures such as cleaning or sterilization andhealthcare record entry or printout via the user console 2.

In one embodiment, the remote operator 9 holds and moves the UID 14 toprovide an input command to move a robot arm actuator 17 in the roboticsystem 1. The UID 14 may be communicatively coupled to the rest of therobotic system 1, e.g., via a console computer system 16. The UID 14 cangenerate spatial state signals corresponding to movement of the UID 14,e.g. position and orientation of the handheld housing of the UID, andthe spatial state signals may be input signals to control a motion ofthe robot arm actuator 17. The robotic system 1 may use control signalsderived from the spatial state signals, to control proportional motionof the actuator 17. In one embodiment, a console processor of theconsole computer system 16 receives the spatial state signals andgenerates the corresponding control signals. Based on these controlsignals, which control how the actuator 17 is energized to move asegment or link of the arm 4, the movement of a corresponding surgicaltool that is attached to the arm may mimic the movement of the UID 14.Similarly, interaction between the remote operator 9 and the UID 14 cangenerate for example a grip control signal that causes a jaw of agrasper of the surgical tool 7 to close and grip the tissue of patient6.

Robotic surgical system 1 may include several UIDs 14, where respectivecontrol signals are generated for each UID that control the actuatorsand the surgical tool (end effector) of a respective arm 4. For example,the remote operator 9 may move a first UID 14 to control the motion ofan actuator 17 that is in a left robotic arm, where the actuatorresponds by moving linkages, gears, etc., in that arm 4. Similarly,movement of a second UID 14 by the remote operator 9 controls the motionof another actuator 17, which in turn moves other linkages, gears, etc.,of the robotic system 1. The robotic system 1 may include a rightsurgical arm 4 that is secured to the bed or table to the right side ofthe patient, and a left surgical arm 4 that is at the left side of thepatient. An actuator 17 may include one or more motors that arecontrolled so that they drive the rotation of a joint of the arm 4, tofor example change, relative to the patient, an orientation of anendoscope or a grasper of the surgical tool 7 that is attached to thatarm. Motion of several actuators 17 in the same arm 4 can be controlledby the spatial state signals generated from a particular UID 14. TheUIDs 14 can also control motion of respective surgical tool graspers.For example, each UID 14 can generate a respective grip signal tocontrol motion of an actuator, e.g., a linear actuator, that opens orcloses jaws of the grasper at a distal end of surgical tool 7 to griptissue within patient 6.

In some aspects, the communication between the surgical robotic platform5 and the user console 2 may be through a control tower 3, which maytranslate user commands that are received from the user console 2 (andmore particularly from the console computer system 16) into roboticcontrol commands that transmitted to the arms 4 on the robotic platform5. The control tower 3 may also transmit status and feedback from theplatform 5 back to the user console 2. The communication connectionsbetween the robotic platform 5, the user console 2, and the controltower 3 may be via wired and/or wireless links, using any suitable onesof a variety of data communication protocols. Any wired connections maybe optionally built into the floor and/or walls or ceiling of theoperating room. The robotic system 1 may provide video output to one ormore displays, including displays within the operating room as well asremote displays that are accessible via the Internet or other networks.The video output or feed may also be encrypted to ensure privacy and allor portions of the video output may be saved to a server or electronichealthcare record system.

FIG. 2 depicts a multi-motor actuator and controller for a surgery tool.The actuator has a first motor subsystem M1 and a second motor subsystemM2, where these are also referred to here as a primary motor subsystemM1 and a secondary motor subsystem M2. Each motor subsystem includes arespective solid-state motor driver circuit 2 that is configured tomanipulate power (e.g., electrical power) drawn by a respective motor23, and in accordance with a motor subsystem input (e.g., an analog ordigital command voltage that represents a desired motor torque or motorspeed and a desired direction or rotation.) The inputs to the motorsubsystems are produced by a digital controller 33 (to be describedfurther below.) The motor 23 may be a permanent magnetic brushless DCmotor, or another type of motor that is suitable for actuating a surgerytool. The drive coupling of each motor 23 is coupled to rotate arespective input coupling, here first input coupling 31 and second inputcoupling 32. An example of a coupling is a shaft. Although not shown,there may be a transmission that couples the drive couplings of themotor subsystems M1, M2 to their respective input couplings 31, 32, forexample through a respective gear train (without a belt or chain orother similar flexible coupling.) To produce increased torque at theinput coupling, the transmissions should effectuate a gear reductionfrom the motor drive coupling to its respective input coupling.

The motor subsystems M1, M2 may be replicates, in order to reduce thecomplexity of manufacturing the system as a whole that is shown.However, given that a controller 33, which computes the inputs to M1, M2as described below, effectively decouples the dynamics of the two motorsubsystems and their transmissions from each other, the motor subsystemsM1, M2 need not be replicates in that they may have different dynamicproperties (e.g., inertia, friction, and backlash.)

Each input coupling is coupled to rotatably drive an output coupling 27at the same time, through a transmission 26, so that the torquesproduced by the several motor subsystems are summed at the outputcoupling 27. FIG. 2 depicts an example where the transmission 26includes a gear reduction, when summing the torques. In one embodiment,transmission 26 is a direct gear drive (rigid coupling) that couples theinput couplings 31, 32 to rotatably drive the output coupling 27simultaneously. In other embodiments, the transmission 26 may include aflexible coupling, for example a belt or a cable that couples the inputcouplings 31, 32 to the output coupling 27. In addition, there may bemore than one secondary motor subsystem M2 that, as explained below, isassisting the primary subsystem M1 to meet the torque demand on theoutput coupling 27. In that case, the transmission 26 may have a morecomplicated design that is able to sum the torques produced by thesubsystem M1 and by two or more subsystems M2 (at the output coupling27.)

In the example depicted in FIG. 2, the output coupling 27 is part of asurgical robotic endoscope. It is rigid and elongated, extending alongits longitudinal axis 29 from a proximal point where it joins thetransmission 26, to a distal point at which an endoscope camera 28 iscoupled to rotate as one with the output coupling 27. Thus, rotation ofthe output coupling 27 results in direct rotation of the endoscopecamera 28, about the axis 29. A camera cable has been passed through ahollow in the output coupling 27 as shown, reaching the distal end whereit connects to the camera 28, providing power to and acting as a videocommunication link to the camera 28. It can be seen that rotation of theoutput coupling 27, which is needed to rotate the field of view of thecamera 28, will result in the twisting of the camera cable therebyincreasing the resistance on the output coupling 27 that has to beovercome by the torque produced by the combination of the primary andsecondary motor subsystems M1, M2.

The inputs to the motor subsystems M1, M2 are time-varying valuesproduced by the controller 33 so that the output coupling 27 tracks atime-varying position command, using feedback about the actual positionof the output coupling 27 (as obtained by a position encoder, forexample.) The position input may also be referred to here as a jointcommand, which indicates a desired or target position of the joint beingactuated, for example the output coupling 27. Alternatively, and asdepicted in the embodiments of FIG. 2 and FIG. 3 described below, theposition input (referred to as qcmd in FIG. 2 and FIG. 3) may refer tothe position of the input coupling 31 or the input coupling 32. Forexample, the position input may refer to the position of the outputcoupling 27, but a position encoder may not be available on the outputcoupling 27. Rather, the position encoder may be located on the outputcoupling 31, and this is acceptable if the mechanical transmission orrelationship between rotation of the input coupling 31 and rotation ofthe output coupling 27 is known, e.g., a fixed gear ratio. Thus, if forexample the position input indicates that the output coupling 27 shouldrotate clockwise by 30 degrees, then the known relationship through thetransmission 26 (stored for example as gear ratio data in the controller33) may be used to translate this position input from the “domain” ofthe output coupling 27 into the domain of the input coupling 31, e.g.,rotate counterclockwise by 90 degrees, and into the domain of the inputcoupling 32, e.g., rotate counterclockwise by 180 degrees.

Turning now to FIG. 3, this is a block diagram of one embodiment of thecontroller 33, which serves to close the feedback control loop that isshown. The controller 33 may be a digital or sampled data system that ispart of several feedback control loops, which are producing updates tothe primary and secondary motor subsystem inputs q1 (position) and q2(position) on a per sample basis, in order to achieve command tracking(position of a joint) and disturbance rejection, while reducingsensitivity to errors that may inevitably be made when modeling theparameters of the actuator (containing subsystems M1, M2.) Suchparameters (e.g., motor torque constant, motor inertia, and friction)are used in two compensator blocks (position control and impedancecontrol) which produce the inputs to the two motor subsystems M1, M2(here, as torque commands or torque inputs.)

The controller 33 determines a position error (error) which may be acomputed difference between a position input (qcmd) and a correspondingposition feedback, where as discussed above the position feedback mayfor example be derived from the output of a position encoder that islocated on the first input coupling 31, the second input coupling 32, orthe output coupling 27.

In the embodiment of FIG. 3, a first compensator (position control)produces the first motor subsystem input (input M1 torque) based on theposition error and in accordance with a position control law. The firstcompensator (position control) may use a first velocity variable that isobtained i) from the position input or ii) as feedback from a positionencoder that is on the first input coupling, the second input coupling,or the output coupling. The first compensator can be described as beingin an “outer control loop.”

Running simultaneously with the first compensator is a secondcompensator (impedance control) that is producing the second motorsubsystem input (input M2 torque) based on the position error and inaccordance with an impedance control law. Here, the second compensator(impedance control) uses a velocity variable to achieve the goal ofimpedance control. This velocity variable may be obtained i) from theposition input or ii) as feedback from a position encoder on one of thefirst input coupling 31, the second input coupling 32, or the outputcoupling 27; in the example shown in FIG. 2, the velocity variable usedin the second compensator (impedance control law) is obtained asfeedback on the second input coupling 32, e.g., by computing the timederivative d/dt of the sampled position variable q2 (this is indicatedin the drawings as q2′). An additional input to the second compensatoris the position error. The second compensator (impedance control) can bedescribed as being in an “inner control loop” which may have a highercontrol bandwidth than the outer control loop that includes the firstcompensator (position control).

In the particular example shown in FIG. 3, the first compensator for theposition control law includes a proportional-integral-derivative, PID,compensator, and the second compensator that implements the impedancecontrol law includes a proportional-derivative, PD, compensator. Also,the first velocity variable used in a derivative (D) term of the PIDcompensator is obtained as feedback from a position encoder on the firstinput coupling 31, and the second velocity variable used in a derivative(D) term of the PD compensator is obtained as feedback from a positionencoder on the second input coupling 32.

In one embodiment, each of the primary and secondary motor subsystems isundersized in that its respective motor torque rating is insufficient todrive the output coupling by itself through the transmission 26. Forexample, the motor current of M1 or M2 can saturate, or the motor willstall, if it is driving the output coupling 27 by itself through thetransmission 26. Accordingly, during operation of this version of theembodiment of FIG. 3, the error may initially increase because M1 is notstrong enough. As the error is also used by the second compensator, tocompute a torque or motor current input to M2, the larger the error, themore torque is input (commanded) to M2. This then causes the error tobecome smaller. This type of swing in the error may be symptomatic of astability issue in the way in which the M2 motor torque is controlled.The second velocity variable (feedback from the second input coupling32, or q2′) may be used to stabilize the M2 torque loop, by addingdamping, e.g., configuring the second compensator as a PD controllerhaving an output given as Kp*error−Kd*q2′ where Kp is the proportionalterm.

In one embodiment, when the error starts to change but is still “small”or less than a given threshold, the second compensator by itself mightnot compute a large enough torque input to M2 that can overcome thebuilt-in friction of M2 (e.g., sufficient to start rotation of the inputcoupling 32.) To address such an issue, FIG. 3 shows as an optional itemas the addition of a torque feedforward path which boosts the input M2torque whenever the position input (qcmd) starts to change, so as toovercome the inherent friction and backlash (e.g., gear train play) inM2. This allows the input coupling 32 to begin to spin as soon as theposition input starts to change, thereby assisting M1 “immediately” andproviding for a more robust control scheme. In particular, in theembodiment shown in FIG. 3, the velocity is computed as a derivative ofthe position input qcmd, as the latter is less noisy than q1′ or q2′ andalso contains the desired direction to rotate. The f(q′) block is afriction model (e.g., Coulomb friction, viscous friction) that is afunction of velocity q′, which here produces a boost torque input basedon the velocity (speed and direction) of the position input qcmd′.

The embodiment of FIG. 3 may in some instances allow M1 to, on average,work harder than M2 when turning the output coupling 27. For example, itis possible that only when the error is “large” would there besignificant torque assistance provided by M2. To mitigate suchsituations and thereby help increase reliability, the controller 33 maybe programmable to change which motor subsystem is primary and which oneor more are secondary. For example, the controller 33 may beprogrammable so that the torque input produced by the first compensator(e.g., position control) is instead provided to M2 while the torqueinput produced by the second compensator (e.g., impedance control) isprovided to M1. In other words, the primary and secondary roles of themotor subsystems are swapped, so that M2 now acts as the primary as itreceives the output of the first compensator (position control), whileM1 becomes the secondary as it receives the output of the secondcompensator (impedance control.) The role of being the primary can bere-assigned round robin amongst all of motor subsystems, automaticallyover time as the multi-motor actuator ages, so that each one of themotor subsystems on average spends the same amount of time acting as theprimary. This may even out the usage of the actuators and thereby helpincrease reliability of the overall system at a macro level.

In accordance with another embodiment of the invention, consistent withthe desire to balance the workload between M1 and M2 at a micro level,or more evenly during a wider range of the position error, the blockdiagram of the controller 33 is offered as a solution, as shown in FIG.4. Here, the primary motor subsystem M1 is operated in the same manneras in FIG. 3, namely within a position control servo loop, and whosetorque input is produced by the first compensator (e.g., positioncontrol) as described above in connection with FIG. 3. In contrasthowever, the second motor subsystem M2 is now operated in a torquecontrol servo loop (and not according to the impedance control law ofFIG. 3), as follows. The controller 33 measures actual torque of theprimary motor subsystem M1 (e.g., by measuring motor current of M1), andlow pass filters (LPF) the measured torque and provides this as input toa second compensator (here, current control), which then produces thesecondary motor subsystem M2 input. In the embodiment of FIG. 4, thefirst compensator (e.g., position control) may be a cascaded PIDcompensator, while the second compensator (e.g., current control) may bea proportional-integral, PI, compensator.

As with the embodiment of FIG. 3, the embodiment in FIG. 4 may also havean optional torque feedforward path (depicted in dotted line form) thatincludes a friction model configured to produce a torque-boost input tothe motor subsystem M1 and/or the motor subsystem M2. Each torque boostis produced as a function of a velocity variable that is obtained fromeither the position input (qcmd), or feedback from the input coupling31, input coupling 32, or the output coupling 27 (similar to what wasdescribed above in connection with FIG. 1).

For the embodiment of FIG. 4, note that M2 is under torque (current)control, so that there will not be energy buildup from M2 (which wouldusually occur due to the integral term) that could potentially fightagainst M1.

Turning now to FIG. 5, this figure depicts the multi-motor actuatorhaving motor subsystems M1, M2 as part of a tool drive on a surgicalrobotic arm, that is encased within a tool drive housing. A detachablerobotic surgery tool, having a detachable instrument housing in whichthe output coupling 27 with the coupled endoscope camera 8 as shown, iscoupled to the tool drive. The instrument housing is separate from thetool drive housing and is detachable therefrom, to enable the same tooldrive housing to be multi-purposed with different surgical instruments.In the embodiment shown in FIG. 5, the output coupling 31 has a firstpart 31 a that is in the tool drive housing and is configured tomechanically and rigidly engage with a second part 31 b that is in thedetachable instrument housing (once the two housings have been fittedtogether.) For example, the first part 31 a may be a drive disk or othercoupling that is designed or configured to be engaged with the secondpart 31 b being a mating drive disk (or other mating coupling.) Asimilar arrangement may be provided for the second output coupling 32,as having a first part 32 a being for example a drive disk (or othercoupling) that can be engaged and disengaged with a second part 32 bbeing a mating drive disk (or other mating coupling.) In such anembodiment, a position encoder (not shown) that produces the neededfeedback on the position of the input coupling 31 or the output coupling32, or two position encoders for producing explicit feedback on both ofthe input couplings, 31, 32, may be housed within the tool drivehousing. As explained above there is no need for obtaining explicitfeedback from the instrument housing on the position of the outputcoupling 27.

FIG. 5 also reflects the understanding that the transmission 26(depicted in FIG. 2) which serves to couple the input couplings 31, 32to the output coupling 27, may also be composed of two parts, namely onepart in the tool drive housing that couples the M1 drive coupling to thefirst part 31 a of the input coupling 31, and another part in theinstrument housing that couples the second part 31 b of the inputcoupling 31 to the output coupling (with a similar arrangement providedfor coupling the M2 drive coupling to the first part 32 a of the inputcoupling 32, and for coupling the second part 32 b of the input coupling32 to the output coupling 27.)

The block diagram of FIG. 4 may be used to describe a method forcontrolling movement of a robotic surgery tool (that is coupled to theoutput coupling 27 of an actuator.) The method includes the followingoperations performed by the controller 33 (e.g., as a processorexecuting instructions stored in memory). A position error is determinedbased on a difference between i) a position input and ii) a positionfeedback, wherein the position feedback is on a first input coupling, asecond input coupling or the output coupling of the actuator. Asdescribed above in connection with FIG. 2, the first and second inputcouplings are rotatably coupled to simultaneously drive and rotate theoutput coupling, and wherein a first motor subsystem drives the firstinput coupling in accordance with a first motor subsystem input and asecond motor subsystem drives the second input coupling in accordancewith a second motor subsystem input. The controller produces the firstmotor subsystem input in accordance with a position control law andbased on providing the position error as input to a first compensator(position control.) The controller is also measuring torque of the firstmotor subsystem, and low pass filtering the measured torque which isthen input to a second compensator (current control), to produce thesecond motor subsystem input. The controller may also produce a torqueboost that increases the first or second motor subsystem input, whereinthe torque boost is produced as a function of a velocity variable thatis obtained from one of the position input, feedback on the first outputcoupling, feedback on the second output coupling, or feedback on theoutput coupling. Note that any feedback from a particular coupling, asthe expression is used here, may be a sensed value produced by adirectly related sensor (e.g., a velocity sensor that is sensingrotation velocity of a coupling and producing a velocity value directly,a position sensor or encoder producing a position value directly), or itmay be a calculated value that has been derived using a mathematicalrelationship with another type of sensor (e.g., taking the timederivative of position values produced by a position sensor to calculatea velocity value.)

While certain embodiments have been described and shown in theaccompanying drawings, it is to be understood that such embodiments aremerely illustrative of and not restrictive on the broad invention, andthat the invention is not limited to the specific constructions andarrangements shown and described, since various other modifications mayoccur to those of ordinary skill in the art. For instance, while FIG. 2shows the output coupling 27 as being part of an endoscope, the outputcoupling 27 may alternatively be part of a different robotic surgerytool. The description is thus to be regarded as illustrative instead oflimiting.

What is claimed is:
 1. A multi-motor actuator and controller for asurgical robotic tool, comprising: an output coupling configured to becoupled to a surgical tool; a first input coupling and a second inputcoupling each coupled to drive the output coupling through atransmission; a first motor having a drive coupling coupled to drive thefirst input coupling in accordance with a first motor input command; asecond motor having a drive coupling coupled to drive the second inputcoupling in accordance with a second motor input command; and acontroller to determine a position error based on a difference betweeni) a position input command and ii) a position feedback, wherein theposition feedback is from the first input coupling and wherein thecontroller is to a) produce the first motor input command based on theposition error and in accordance with a position control law, and b)produce the second motor input command based on the position error andin accordance with an impedance control law using a second velocityvariable that is obtained from i) the position input command or ii) asfeedback from one of the first input coupling, the second inputcoupling, or the output coupling.
 2. The multi-motor actuator andcontroller of claim 1 wherein the controller comprises: a firstcompensator for the position control law that uses a first velocityvariable that is obtained i) from the position input command or ii) asfeedback from the first input coupling, the second input coupling, orthe output coupling; and a second compensator for the impedance controllaw.
 3. The multi-motor actuator and controller of claim 2 wherein thefirst velocity variable is obtained as feedback from the first inputcoupling, and the second velocity variable is obtained as feedback fromthe second input coupling.
 4. The multi-motor actuator and controller ofclaim 2 wherein the first compensator for the position control lawcomprises a proportional-integral-derivative, PID, compensator, and thesecond compensator that implements the impedance control law comprises aproportional-derivative, PD, compensator.
 5. The multi-motor actuatorand controller of claim 4 wherein the first velocity variable isobtained as feedback from the first input coupling, and the secondvelocity variable is obtained as feedback from the second inputcoupling.
 6. The multi-motor actuator and controller of claim 5 whereinthe controller comprises a friction model that is configured to producea torque boost input that increases the second motor input, and whereinthe torque boost input is produced as a function of a velocity variablethat is obtained from one of: the position input command, feedback fromthe first input coupling, feedback from the second input coupling, orfeedback from the output coupling.
 7. The multi-motor actuator andcontroller of claim 1 wherein each of the first motor and the secondmotor is undersized in that its respective torque rating is insufficientto drive the output coupling by itself through the transmission.
 8. Themulti-motor actuator and controller of claim 7 wherein the transmissioncomprises a first part that is housed in a tool drive housing, and asecond part that is housed in an instrument housing separate from thetool drive housing and that is detachable therefrom, wherein the firstinput coupling comprises a first tool drive coupling in the tool drivehousing that is engaged with a first mating drive coupling in theinstrument housing, and the second input coupling comprises a secondtool drive coupling in the tool drive housing that is engaged with asecond mating drive coupling in the instrument housing.
 9. Themulti-motor actuator and controller of claim 1 further comprising: anendoscope camera coupled to the output coupling so as to rotate as onewith the output coupling; and an endoscope camera cable having one endcoupled to the endoscope camera and extending through a hollow in theoutput coupling, wherein the cable twists and resists rotation of theoutput coupling.
 10. A multi-motor actuator and controller for a roboticsurgery tool, comprising: an output coupling configured to be coupled toa surgery tool; a first input coupling and a second input coupling eachcoupled to rotatably drive the output coupling at the same time througha transmission; a first motor subsystem having a first motor whose drivecoupling is coupled to rotate the first input coupling, and a firstmotor driver circuit configured to manipulate power drawn by the firstmotor in accordance with a first motor subsystem input; a second motorsubsystem having a second motor whose drive coupling is coupled torotate the second input coupling, and a second motor driver circuitconfigured to manipulate power drawn by the second motor in accordancewith a second motor subsystem input; and a controller configured tocalculate a position error between i) a position input and ii) aposition feedback, wherein the position feedback is from the first inputcoupling, the second input coupling or the output coupling, and whereinthe controller is further configured to a) produce the first motorsubsystem input in accordance with a position control law and based onproviding the position error as input to a first compensator, and b)measure torque of the first motor subsystem and low pass filter themeasured torque as input to a second compensator, to produce the secondmotor subsystem input.
 11. The multi-motor actuator and controller ofclaim 10 wherein the first compensator comprises a cascaded PIDcompensator.
 12. The multi-motor actuator and controller of claim 11wherein the second compensator comprises a proportional-integral, PI,compensator.
 13. The multi-motor actuator and controller of claim 10wherein the controller comprises a friction model that is configured toproduce a torque boost input that increases the first motor subsysteminput or the second motor subsystem input, and wherein the torque boostinput is produced as a function of a velocity variable that is obtainedfrom one of: the position input, feedback from the first input coupling,feedback from the second input coupling, or feedback from the outputcoupling.
 14. The multi-motor actuator and controller of claim 10wherein each of the first motor and the second motor is undersized inthat its respective torque rating is insufficient to drive the outputcoupling by itself, through the transmission.
 15. The multi-motoractuator and controller of claim 10 wherein the position feedback isfrom the first input coupling.
 16. The multi-motor actuator andcontroller of claim 10 further comprising: an endoscope camera coupledto the output coupling so as to rotate as one with the output coupling;and an endoscope camera cable having one end coupled to the endoscopecamera and extending through a hollow in the output coupling, whereinthe cable is to twist when resisting rotation of the output coupling,and wherein the transmission comprises a first part that is housed in atool drive housing, and a second part that is housed in an instrumenthousing, wherein the first input coupling comprises a first tool drivecoupling in the tool drive housing that is engaged with a first matingdrive coupling in the instrument housing to transmit torque of the firstmotor to the output coupling, and the second input coupling comprises asecond tool drive disk in the tool drive housing that is engaged with asecond mating drive coupling in the instrument housing to transmittorque of the second motor to the output coupling.
 17. A method forcontrolling movement of a robotic surgery tool that is coupled to anoutput coupling of an actuator, comprising: determining a position errorbased on a difference between i) a position input and ii) a positionfeedback, wherein the position feedback is from a first input coupling,a second input coupling or the output coupling of the actuator, whereinthe first and second input couplings are coupled to simultaneously drivethe output coupling, and wherein a first motor drives the first inputcoupling in accordance with a first motor input and a second motordrives the second input coupling in accordance with a second motorinput; producing the first motor input in accordance with a positioncontrol law and based on providing the position error as input to afirst compensator; and measuring torque of the first motor and low passfiltering the measured torque as input to a second compensator, toproduce the second motor input.
 18. The method of claim 17 wherein thefirst compensator comprises a cascaded PID compensator.
 19. The methodof claim 17 wherein the second compensator comprises aproportional-integral, PI, compensator.
 20. The method of claim 17further comprising producing a torque boost that increases the firstmotor input or the second motor input, wherein the torque boost isproduced as a function of a velocity variable that is obtained from oneof: the position input, feedback from the first output coupling,feedback from the second output coupling, or feedback from the outputcoupling.